Remote installation of software is common in the context of commercial computing. For example, it is a routine matter for software and system vendors, such as Microsoft®, Adobe® and Apple® to remotely install updates, sometimes referred to as “patches” for their products running on consumer platforms, such as personal computers, workstations, tablet computers and smart phones. Some devices, such as smart phones routinely recharge their batteries when placed in a cradle, allowing software vendors to install software upgrades while the smart phone is resting in the cradle, even when the device is not in use.
In some instances, such software upgrades can occur automatically, e.g., without user interaction or approval. For example, a user may pre-authorize software updates from one or more authorized software vendors for certain applications, e.g., operating systems or security software. In other instances, the availability of such updates can be determined and presented to a user without updating the software automatically. Rather, installation of any of the available software upgrades can be accomplished in response to user authorization, which can be provided, e.g., on a case-by-case basis.
Anyone with a smart phone or personal computer running any of the popular operating systems or security software is accustomed to the frequent occurrence of such software updates. It would not be unusual to expect several software updates per week, e.g., for a smartphone hosting a modest number of applications. In order to make such software updates minimally invasive or otherwise unnoticeable to a user, a user's data files are typically not removed or otherwise modified. For example, a user configuration file, data files, and the like, will remain substantially unchanged on the device being updated. Such frequent software upgrades are less common in sensitive applications, such as in a military applications due to security concerns. Namely, each modification to software and/or data on a sensitive platform poses an opportunity for the introduction of malware, spyware, and the like.